package com.ruoyi.procurementmanagement.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购合同(es_procurement_contract)对象 es_procurement_contract
 *
 * @author ruoyi
 * @date 2025-03-05
 */
public class EsProcurementContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String sn;

    /** 签订时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签订时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Integer supplierId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 制单人ID */
    @Excel(name = "制单人ID")
    private Integer creatorId;

    /** 制单人 */
    @Excel(name = "制单人")
    private String creator;

    /** 制单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "制单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatorTime;

    /** 合同附件 */
    @Excel(name = "合同附件")
    private String contractAnnex;

    /** 说明 */
    @Excel(name = "说明")
    private String contractDesc;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private String contractStatus;

    /** 是否删除 0：否，1：是 */
    @Excel(name = "是否删除 0：否，1：是")
    private Long disabled;

    /** 采购计划ID */
    @Excel(name = "采购计划ID")
    private Integer planId;

    /** 采购计划编号 */
    @Excel(name = "采购计划编号")
    private String planSn;

    /** 采购合同产品(es_procurement_contract_product)信息 */
    private List<EsProcurementContractProduct> esProcurementContractProductList;

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setSn(String sn)
    {
        this.sn = sn;
    }

    public String getSn()
    {
        return sn;
    }
    public void setSignTime(Date signTime)
    {
        this.signTime = signTime;
    }

    public Date getSignTime()
    {
        return signTime;
    }
    public void setSupplierId(Integer supplierId)
    {
        this.supplierId = supplierId;
    }

    public Integer getSupplierId()
    {
        return supplierId;
    }
    public void setSupplierName(String supplierName)
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName()
    {
        return supplierName;
    }
    public void setCreatorId(Integer creatorId)
    {
        this.creatorId = creatorId;
    }

    public Integer getCreatorId()
    {
        return creatorId;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setCreatorTime(Date creatorTime)
    {
        this.creatorTime = creatorTime;
    }

    public Date getCreatorTime()
    {
        return creatorTime;
    }
    public void setContractAnnex(String contractAnnex)
    {
        this.contractAnnex = contractAnnex;
    }

    public String getContractAnnex()
    {
        return contractAnnex;
    }
    public void setContractDesc(String contractDesc)
    {
        this.contractDesc = contractDesc;
    }

    public String getContractDesc()
    {
        return contractDesc;
    }
    public void setContractStatus(String contractStatus)
    {
        this.contractStatus = contractStatus;
    }

    public String getContractStatus()
    {
        return contractStatus;
    }
    public void setDisabled(Long disabled)
    {
        this.disabled = disabled;
    }

    public Long getDisabled()
    {
        return disabled;
    }
    public void setPlanId(Integer planId)
    {
        this.planId = planId;
    }

    public Integer getPlanId()
    {
        return planId;
    }
    public void setPlanSn(String planSn)
    {
        this.planSn = planSn;
    }

    public String getPlanSn()
    {
        return planSn;
    }

    public List<EsProcurementContractProduct> getEsProcurementContractProductList()
    {
        return esProcurementContractProductList;
    }

    public void setEsProcurementContractProductList(List<EsProcurementContractProduct> esProcurementContractProductList)
    {
        this.esProcurementContractProductList = esProcurementContractProductList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sn", getSn())
            .append("signTime", getSignTime())
            .append("supplierId", getSupplierId())
            .append("supplierName", getSupplierName())
            .append("creatorId", getCreatorId())
            .append("creator", getCreator())
            .append("creatorTime", getCreatorTime())
            .append("contractAnnex", getContractAnnex())
            .append("contractDesc", getContractDesc())
            .append("createTime", getCreateTime())
            .append("contractStatus", getContractStatus())
            .append("disabled", getDisabled())
            .append("planId", getPlanId())
            .append("planSn", getPlanSn())
            .append("esProcurementContractProductList", getEsProcurementContractProductList())
            .toString();
    }
}
